home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / asmexam.arc / ODDS.LST < prev    next >
File List  |  1984-03-17  |  3KB  |  105 lines

  1.  The Microsoft MACRO Assembler             03-16-84        PAGE    1-1
  2.  
  3.  
  4.  
  5.                          PAGE 55,132
  6.                     
  7.  0000                   DATA    SEGMENT PARA
  8.  0000  0004              VAR1    DW  4
  9.  0002  05              VAR2    DB  5
  10.  0003  ????              RES     DW ?
  11.  0005                   DATA    ENDS
  12.                     
  13.  0000                   STACK   SEGMENT STACK
  14.  0000     0A [                   DW 10 DUP(?)
  15.                 ????         
  16.                       ]         
  17.                     
  18.  0014                   STACK   ENDS
  19.                     
  20.                     
  21.  0000                   CODE    SEGMENT PARA
  22.                          ASSUME CS:CODE,DS:DATA,SS:STACK
  23.                     
  24.  0100                        ORG 100H
  25.                     
  26.  0100  A1 0000 R         START:  MOV AX,VAR1    ; DATA MOVED FROM DATA SEGMENT TO REGISTER
  27.  0103  50                   PUSH AX        ; CONTENTS MOVED TO STACK
  28.  0104  1E                   PUSH DS        ; PUSH DATA SEGMENT ADDRESS TO STACK
  29.  0105  9C                   PUSHF          ; PUSH FLAG REGISTER ON STACK
  30.                     
  31.  0106  2D 0004                   SUB AX,4       ; ALTER FLAGS
  32.  0109  9D                   POPF           ; POP OUT OLD FLAGS
  33.                     
  34.  010A  8E D9                   MOV DS,CX      ; CHANGE DS VALUE
  35.  010C  1F                   POP DS         ; RESTORE OLD VALUE
  36.                     
  37.  010D  58                   POP AX         ; POP VAR1 BACK TO AX
  38.                     
  39.  010E  E8 011A R              CALL ODDENDS
  40.                     
  41.  0111  A0 0002 R              MOV  AL,VAR2
  42.  0114  1E                   PUSH DS
  43.  0115  E8 0120 R              CALL TRANSLATE
  44.  0118  1F                   POP   DS
  45.  0119  90                   NOP
  46.                     
  47.  011A                   ODDENDS  PROC   NEAR
  48.                     
  49.  011A  93                      XCHG   BX,AX      ; XCHANGE AX <---> BX
  50.  011B  F9                      STC               ; SET CARRY
  51.  011C  FC                      CLD               ; CLEAR DIRECTION
  52.  011D  FA                      CLI               ; CLEAR INTERRUPT
  53.  011E  9F                      LAHF              ; LOAD FLAGS INTO AH
  54.  011F  C3                      RET
  55.  The Microsoft MACRO Assembler             03-16-84        PAGE    1-2
  56.  
  57.  
  58.  
  59.  0120                   ODDENDS  ENDP
  60.                     
  61.  0120                   TRANSLATE  PROC NEAR
  62.                     ;          ASSUME AL CONTAINS CODE READ IN
  63.                     
  64.  0120  2E: C5 1E 0128 R                 LDS  BX,CS:TAB_POINTER
  65.  0125  2E: D7                      XLAT CS:XMIT_TABLE      ;M(BX+AL) --> AL
  66.  0127  C3                      RET
  67.                     
  68.  0128  012C ---- R         TAB_POINTER DD  XMIT_TABLE
  69.  012C  35 37 39 31 33 36    XMIT_TABLE  DB  '5791368024'
  70.        38 30 32 34         
  71.                     
  72.  0136                   TRANSLATE   ENDP
  73.                     
  74.  0136                   CODE        ENDS
  75.                              END START
  76.  
  77.  The Microsoft MACRO Assembler             03-16-84        PAGE    Symbols-1
  78.  
  79.  
  80.  
  81. Segments and groups:
  82.  
  83.          N a m e              Size    align    combine    class
  84.  
  85. CODE . . . . . . . . . . . . . .    0136    PARA      NONE    
  86. DATA . . . . . . . . . . . . . .    0005    PARA      NONE    
  87. STACK. . . . . . . . . . . . . .    0014    PARA      STACK     
  88.  
  89. Symbols:            
  90.  
  91.          N a m e              Type    Value    Attr         
  92.  
  93. ODDENDS. . . . . . . . . . . . .    N PROC    011A    CODE    Length =0006
  94. RES. . . . . . . . . . . . . . .    L WORD     0003    DATA
  95. START. . . . . . . . . . . . . .    L NEAR     0100    CODE
  96. TAB_POINTER. . . . . . . . . . .    L DWORD    0128    CODE
  97. TRANSLATE. . . . . . . . . . . .    N PROC    0120    CODE    Length =0016
  98. VAR1 . . . . . . . . . . . . . .    L WORD     0000    DATA
  99. VAR2 . . . . . . . . . . . . . .    L BYTE     0002    DATA
  100. XMIT_TABLE . . . . . . . . . . .    L BYTE     012C    CODE
  101.  
  102. Warning Severe
  103. Errors    Errors 
  104. 0    0
  105.